package com.bj58.migrate.update.impl;

import java.util.List;

import org.apache.log4j.Logger;

import com.bj58.migrate.ScfProxy;
import com.bj58.migrate.update.AbsDataHandler;
import com.bj58.sfft.imc.entity.Info;
import com.bj58.sfft.imc.entity.InfoPara;
import com.bj58.sfft.imc.entity.ParaClass;

public class CateHandleImpl_Repair extends AbsDataHandler{

	private Logger logger = Logger.getLogger( CateHandleImpl_Repair.class );

	@Override
	public void deal( Info info, String[] args ){

		// int cateid = info.getCateID();
		// if( info != null && Cate2XiaozhiweiMapper.getXiaozhiCondtion( cateid ) == null ){
		// int paramId = Cate2XiaozhiweiMapper.getXiaozhiweiParamId( cateid );// 单元参数id
		// if( paramId != -1 && info.getPara() != null ){
		// String paramString = String.valueOf( paramId );
		// String value = null;
		// for( ParaClass para : info.getPara() ){
		// if( para.getKey().equals( paramString ) ){
		// InfoPara infoPara = para.getValue();
		// value = infoPara.getParameterValue();
		// if( value != null ){
		// int thirdCateid = Cate2XiaozhiweiMapper.getThirdCateid( cateid, value );
		// if( thirdCateid != -1 ){
		// try{
		// para.setValue( new InfoPara( paramId, String.valueOf( thirdCateid ) ) );
		// info.setCateID( thirdCateid );
		// info.Commit();
		// RSBLL.imc_InfoProviderWithIndex().UpdateInfo( info );
		// logger.info( "Sucess---" + args[ 2 ] + "------infoid:" + info.getInfoID() + ",cateid:" + cateid + ",value:" +
		// value + "---->thiredCateid:" + thirdCateid );
		// }
		// catch( Exception e ){
		// logger.error( "UpdateCate update info Exception---in " + args[ 2 ] + " ----infoid:" + info.getInfoID() +
		// ",cateid:" + cateid + ",value:" + value + "-->thiredCateid:" + thirdCateid, e );
		// }
		// }
		// }
		// break;
		// }
		// }
		//
		// }
		// }
		// int origncateID = info.getOriginCateID();
		// if(origncateID==593){

		List< ParaClass > old = info.getPara();
		boolean include = false;

		if( old != null ){

			for( ParaClass oldPara : old ){
				if( oldPara.getKey().equals( "5358" ) ){ // 包含9398
					include = true;
					oldPara.setValue( new InfoPara( 5358, "0" ) );
				}
			}

			if( !include ){

				InfoPara infopara = new InfoPara();
				infopara.setParameterID( 5358 );
				infopara.setParameterValue( "0" );

				ParaClass newPara = new ParaClass();

				newPara.setKey( "5358" );
				newPara.setValue( infopara );

				info.getPara().add( newPara );
			}
			try{
				info.setCateID( Integer.parseInt( args[ 2 ] ) );
				// info.setSource((short)6);
				info.Commit();
				ScfProxy.imc_InfoProviderWithIndex().UpdateInfo( info );
				logger.info( "Success " + args[ 2 ] + "  ---infoid:" + info.getInfoID() + "  -----userid:" + info.getUserID() );
			}
			catch( Exception e ){
				logger.error( "UpdateCate update info Exception---in " + args[ 2 ] + " ----infoid:" + info.getInfoID(), e );
			}
		}

		// }

		// short orgsource = info.getState();
		// //info.setSource((short)1);
		// info.setState((short)4);
		// try{
		// info.Commit();
		// RSBLL.imc_InfoProviderWithIndex().UpdateInfo( info );
		// }catch(Exception e) {
		// logger.error("Update info,infoid:"+info.getInfoID()+",orgsource:"+orgsource);
		// }
		//
	}
}
